switch to performSelector:; fix issue #17