порефакторил чуть-чуть...