Initial Commit of all needed code