Finalised implementation
Updated documentation