fixed input read order