refactor tests

- Make many tests more unity, directly calling the methods they are designed to test and testing for specific return values and side effects and group them together
- Make tests pass for dprs other than 1
add fresh built files