wip: refactor for DIO