with oo attempt