use references
safer floc sscanf