keep some object state to make testing easier