lots of tweaks and tested more languages