working on the common_lib branch