implements base.user