get rid of json parsing. add custom url support. keep connection open between calls