complete shape generation module