add support for custom transitions