functionally works, but our descion process is totally fucked up