added support for more types