interfaces are pretty jazzy