uses navigation controller. code no longer makes you vomit