working way to break cycles
make tests work