init
update once
read to push