Added redefinition exception
While-Compilation does more of the correct things now