avoid recreating the same objects all the time