add support for using custom schemas