add error checker