implements Decode for each request