refactored types, added expansion on all compatible types