first init
multiple update and new api