some basic tools for dealing with users