add comment feature and tests