Fingering refactor