Added more detailed documentation.