language changing works, could be more elegant though