one level of abstraction