Refactoring is done and the warnings are much better.