add support for types