example3 - annotations, allow is now private and we always pipe