Initial implementation of the forward generator