init version
delete not use