new implementation of begin ...