Added Snap Functionality

Still tinkering to get operational.