complete decoder