refactor framework module