initial material generation