Use respondsToSelector instead of floor()