not finished with tuple cause it's confusing atm