add some comment
add checkout function
separate checkout page from order processing