add buffer check