handle intents better