Reviewing classical logic gates