Add tests to make sure STI is working.
more tests to make sure STI is working.
Refactoring.