add some type safe specs