add mac os func