generalize bounds and add an empty constructor
scoping
use a linked list for faces in a mesh