add error logging