improve ban implementation