Updated with everything working except return explicit intent