only do this for type