CW completed, tested, commented

CW completed