include parameters package into core one
variable conflict
a NewMessage parameter instead of BaseMessage and UserMessage, and many things are more consistent