abstract renderer and jacobe formatting