changed CLEAR definition to be more dynamic the user still needs to change the define when they're compiling
some other things are implicated by this, if you define _Unix or _Windows when compiling all the objects, it will change the behavior