Moved validation into service layer - refactored around that