add culcore as header only lib