Adding detailed documentation