try again + refactoring - closes #39

massive cleanup :+1: