Initial Commit - base code - un tested - incomplete