added spiral generation