refactor to use ARC
remove warnings
refactor to modern obj-c syntax