major changes all merged