modify to look closer to the initial version