working on OOD