merge changes from herrniemand