slowly adding testing functions. feel like testing functions are too large, may have to figure out how to re-factor but not sure yet.