New command framework