more abstraction of artifact/media classes