comments model
allows nested and indented comments