Simplifying and removing pointless abstractions. Documentation and one extra test