some minor modifications --- 111250241