cleanup logic, add for loop method