nearly finished
need to comment