trying to make things faster still, but I give up I'm done