e46 decoding functions in place