full implimentation of comment