stripped down version of system generation