make basic data structures final
hide implementation details