tested on mac and ios