Lot of work added
Can pass compiler
Almost Done