new version of assignment because old one was incomplete for some reason
more complete commit