add a user-agent, closes #20