dont use __getattr__