initial commit of assignment implementation