raise exceptions in the case of bad polygon states