Added working generator

use via distance, angle not implemented yet