adding validation, servises intefaces separeted into individual files