Is it really necessary to redefine the constructor each time? Maybe we can put this somewhere so it only gets defined once.