found some bugs and improved partial 128