working on stricter logic