То что получилось + небольшие исправления.