refactor web client app structure