borrowed pelican struct from tangible.tools because this work is being done offline, I can't pip installs