Added more detailed documentation