add cross-platform pset4