many changes - see heroku commits for details