supports-shape function
refactored implementation check
docs
doc fixes