creator and interceptor refactoring