add schema generator