Updated documentation and class implementation