commit method (rough)