rough functional
rough functional