Fix some "pointer null" problems, add Cart view/controller