do de-duplication? main.c