adding renderers, refactoring