Added proper documentation.