refactor commentable
included email validation