typesafe model added