refactor, fixes si consume