got it compiling and every thing has been refactored