some updates including sketching out a maintain() function