fix: more pure procedural