refactoring

moved to role based structure
added golang
closes #5, closes #9