* complete cycle safty
* more tests