split tests & logic