fully working + new icond