Cats: Computer Automated Typing System