use super class methods instead of a delegate