add typesafe
change