btw it's a bit confusing that things are executed when prevent? returns true