MOre work on interfaces - not complete