working on interface code