externalize the code into the separate b-torial project