reorganize, refactor, use erb
update version