still working on exhasutive tests