add decoder - not finished