figure out interfaces