little abstraction modification