implement requests