updated design, more parse comptebillity