Basic snap function