adds generate and layers methods