added publish
init
moved all function declarations out of main
docs
remove
docs
docs
docs