Updated new decoder - Uses Arrays instead of ArrayLists for size