Adds language filtering, better searching, a real temp directory, and some cleanup.