added classes for dealing with nameable artefacts