moved world changing check to predicate.
added q for quit