Refactoring done, more test added.
//TODO ..package module.
New test aproach, possible architecture update.