impl struc major reqs