нужно много кода оптимизировать, но как-то лучше в следующем приложении начну =)