added private timer methods and changed NSTimer target to self to fix unrecognized selector sent to instance exception