+Some improvments to Case class