use derive to setup parent/child relationships amongst resource types