implement up/down translation