Base iOS implementation