done with arrays and bestPractices