use defaults instead of extends for dialect support