using futuraes library, plus small refactoring.