or factor out into a separate lib, but it's soo small...