add pay feature
update layout
add test