Refactored entities
Started implementing DI