Created a more generic parent child constructor, and simplified the List constructor to use it