towards abstraction and self containment