spork function