add valueOr methods