Refactored
Refactored more. Prepared to test
rutil tested
Tested