adding support for possible types