lots of work on admin functionality