initial
updated amd clean
merge