custom inspect function