render should be some other responsiblity