extension framework and basic functionality