Used as a reference in the Hazel project...had to remove one method to get it to play nicely