Moved decoding to dispatcher