add type hint to avoid reflection