add request struct