fix tossed variables and implement operability check