adding interface, fixes