implementing comparse ...