Added proper documentation