Fix 28

Some refactoring was done
There is a lot of work to do to make this code clean and testable, but I've decided that this is enough to fix a simple bug of time zone problems.