remove old file
clean up, organize, and add tests