script work and abstract rose by Jack