added proxy logic