refactored so there is a place-slot-value and only run tests that are not nil