No type erasure

moving to new framework