first pass user stuff