Using respondsToSelector instead of floor()