finally done
merge with simon