needs to return an option of a flat tuple