added reciprocation check function