adding linear decoder