optimization for normal masks requires keeping ptr