allow overriding schemes