Небольшие стилистические изменения - добавил явное объявление блоков для if/else, добавил ;