more oop
list ain not needed