initial commit, wrote preliminary tests