refactored rest of object classes.