add necessary comments