added override to reimplemented functions