better contactgenerator structure; WIP