this should not be in the requirements as it is a circular reference