more complete documentation 2