separated rendering concern from state management