all logic works for AI