checkout review

+ bugs + refactory