why is this so time-consuming?