reformat
added essential param checking
implement discussion.coffee