implement request signing