optimized maybe interface