[feature/1.0] manage media separately, expecting api to change