implemented inspect