change inheritance with DisplayObject
huge refactoring