a little modified #added term4#