[Work in progress] Authentication

I'll detail what's happening here later