merge from patstew-master