Add more functionality. Refactor theme to not print directly