added some error checks
added new background