refactoring: add renderinterceptor