provides interfaces for data structures, simple threading
