new method `decode()`