finished users implementation, including admin