did refactor for buff system