first commit, added the original code