Did a lot of work on translate()