rethrow error instead of return null