initial version of assignment 2