new logic check