prepare to split up decoder function for faster compile