fix hasattr