completed decoder top-half, but this breaks a LARGE number of test cases due to interface changes in normal and pc_1d