private framework for our objects