WIP: mod to abstract