this is better done in a loop