recompiled for 5S, changed Float to CGFloat