functionality done, going to add assignment functions later