Added some tests and worked out the kinks with the linting
added publish function to ScrewDriver