init, optimize soon
update version