new generate method, fix #657
update data files