using snap instead of hard