add etc_algo.c, etc_algo.h