basic decoding
avoid variable name collisions