level1 | add protection/to be optimized