updated much of the code and added comments for unifinished requirements