resudial option
new version