actually return values