timeout support, abstracted web request handling
code cleanup