Adding domain layer for Login use case