modified guard so it return a bool to clarify if the action was successful or not