refactor object classes