style and documentation modified