Added comments. Renamed methods, extracted methods