base completion of assignment 3