changes functional