cleaned up AbstractRenderer