initial port over from zippy