creating non-arc version