#5: introduce abstract Config class