tests and splitting out modules