reworked the stupid branch