some basic resource structs and placeholder enums