improved request structure