pre-oop