logic introduced