shifted logic