Bonus bug occured to be factoring bug,.. only advantage is that some JUnit tests have been introduced