initial commit of new design
merge upstream changes