first init and push