commit with most of the fixes discussed in the PR comments. still missing a list of generators in CompositeImage