Change Documentation and some Code tuning