function Spring.new(q)local n=q or 0 return setmetatable({_time0=tick();_position0=n;_velocity0=0*n;_target=n,_damper=1,_speed=1},Spring)end

function Spring.new(initial)
	local target = initial or 0

	return setmetatable({
		_time0 = tick();
		_position0 = target;
		_velocity0 = 0*target;
		_target = target;
		_damper = 1;
		_speed = 1;
	}, Spring)
end
