modified commnent and licence.