switch to lab - closes #1, 100% code coverage - closes #4, cleanup and consistency - closes #2 closes #3