initial - add abacus parameter
restructure code to read easily.