smarter array