Rework requests, add better auth