Finish implementation.
Added visualization impl.