moved complexity out of __init__ and into a new file in testing