redefine trait and object compagnion
add new case class for users