added commenting system with tests