Initial Commit. Finished program