testing new ways of doing things, needs refactoring