added namespace in commen.h to avoid typedef conflicts