now properly rendering only when needed #2