cut down some boilerplate code, added description about performance issues under iOS 6