First complete checkin of the code