code split to parse/run/functions