И вроде все достаточно п*здано, но все равно какая-то ху*ня