private class concept functional