I'm curious why we need to override this function