overhaul and split out mac, common, linux