added KWRequest class