more consistent data abstraction / object orientation