working on interface and such with tim