close #200 better ddl generation