working complete version first commit