conditioning now factored out and tested partially