*sigh* logic