refactor proxy object