artifact class and builder