added a lock and some other stuff
adding support for a few more languages