Algorithm Behind Fast Feature detector

I am trying to implement the FASt feature detector from scratch for my college assignments. I am following the paper of Dr. Rosten and have used the segment test for corner detection criterion. But, I find that FAST feature detector of OPENCV is finding corners better than my own implementation. So, I would like to know other than the segment test, is there anything else that is being checked in the FAST implementation of OPENCV?