handling errors which can definitely happen.