add normalize and really finish feature.c