added tests, coverage is at 100% now.