removed a layer of abstraction