detrmination
adding test and more struct