reformat; add generic request support; add post shortcut