add "begin" support