Added annotations helpers and seperated the DI