rigid logic