add Gemfile and Gemfile.lock
rearrange the code layout