not tested extensively; added object notes