- reimplement major parts of the request api