optimize parsing