added implicit and explicit intent