this --------------- close to complete upgrading with conditions