added common.h implementation