improve parser, switch from Z to 0 and 'S ...' to 'S(...)'