refactored selfupdate, buildclean target added