Axel Lender already worked on this, I was just waiting to push to complete some tests and improve the docs.