make it a little more typesafe