split out rendering into separate aspect