reimplement reqs