added basic generator