Return value instead of pointer