add full coverage tests
add better tests for spin