must include bar.h