configuration - abstract superclass simplified