allowing user_agent to be set on initialization