add placeholder
try another implementation of placeholder
may have some problems for empty content
less styles
more logics for product