Finshed Startup class. needs testing