win state

i created the terminate test and now it works correctly, but there is
another way that we can do this efficiently. the efficient way need a
lots of changes in the code so i decided to live it like this for now
and we can talk about the new way in our next meeting