added sprepost method for combining spre() * spost() into one step