supporting strict-mode latest
added psuedo-interface (code contract via casting)