throw exceptions on error
add _get_item to fetch wanted fields