More testing, refactoring,