merge changes from Will Dennis