decoder skeleton