adding backend work: web routing and db access