small changes with the return type.