added preexeute logic, made changes to GEtWid param name FromWid
added abstracted tests / moved code to client side