Solved #21. Solution is somewhat slow, placing in default package for later refactor.