updating readme; using BaseObject to remove boilerplate