added isPerimeter, but not used
implemented some basic Room stuff