complete modification