Implement button authentication

Probably other stuff as well