removed finalize method and use only weak reference