[refactor][update]: finished decoupling, tested, ready for use