changed Gizmo.create method to make it more flexible