add __slots__
fix none issue