trying to extract to OO