try again complete + refactoring - closes #39