should use [UIScreen mainScreen].bounds, avoid using hardcoded size values