Added some auxiliary structures and extensions