Clean ups and error checking.