working code, adding to github