Cleaned things up and split into different languages