success case almost works completely