init and commit