Initial commit. Contains basic program logic