add support for other types