refactoring..
lots of refactoring - complete register working. time to modify!