added generation from solid