Done with assignment1