Если есть ошибки, недоработки, прошу отписать в комментариях, буду признателен.