fixes and add algo