added entity and component classes