a bit of OO cleaning