FIX decorating functions with guards
OPT new test