modified return values