attemping different approaches to checks; currently caught in recursive loops