basic logic complete