move the stateless generate/verify portion into separate files