Basic Sweeping Mechanism, lots to fix here though