Added more errors. Key checking rough draft done. (Not Tested)