reorganize to use parserator