Override base to return correct type