further iPhone optimizations