might need a better name for `collapse`. Something like `collapsable` perhaps?