copy pasta from original class ...