add requestPermissions method