lots of auth and everything