add initial version of assignment 2