merged code with latest from le