Add support for different types