use the typedef, name the enum better, declare some power domain aliases