such checks must be done at the upper layer