merged in code from master