add isBoundary method to Cell interface so that steps do not affect boundary cells