https://tproger.ru/articles/tips-for-sport-programming