Still working on the logic. HIGHLY UNSTABLE!