handle intents better
(i shouldn't have changed the mechanism at all)