dont use deprecated classes
refactoring + override