Script is more flexible and error-proof