Major refactoring: extracted modules, async; support links