use bodyParser instead of manual parsing