add Rack dependency and adjust folder structure