All neccessary check
Revert logic switch