added factory methods for intents