request handlers - blocking version