modification details:
half done version: beginning of Jan 7 2014