as tools HitTest, weakref, singleton