fixes to strengths function evaluation
added enumerator class
optimisations to evaluation
more optimisations and improvements
adding classes to represent calculation
shuffling to reduce unused params
added simulator
updates to tests