add support for custom register types