trying to figure out this interface naming bs