refactory instance