auth is almost ready, code is shit, needs cleanup