Split auth and request logic (fix #23)