Refactory begin