Some bugs where fixed;
tried to implement the register header abstraction;