Implement authorization

this resolves #12