basic decoder