added more generator functinos.