initial commit of project, adapted