add apple specific function