Basic Structure(still lots of things wrong)