edited
add cart
add description to functions
refactoring, add many comments