tests and testability