this might be a better implementation of repetitive tasks