finished with tests, added trait, added file tests