Alg running FAST! Some bugs yet to fix...