use CGFloat instead of AHFloat