Add inital basic functionality and documentation