now path-independent