- many internal enhancements and refactorings, thanks to @cromeiro!
