First bits for the mihf rewrite
MIHF refactor