It'd be more idiomatic to call the superclass' constructor at the beginning of this function