Separated theme/templating functions and actual logic