add support for more types