refactor of bounding shapes for more genericity