decode interface working and spec'ed