complete generators refactor of Target