merged code from main development branch