added proxy pattern, basic reference tricks