added hover effects & some error checks