added detailed documentation
added detailed documentation