Separated commits into two parts for better performance (need to be able to go back as well?)