adding more noncat and precat logic