add a new constructor that runs load hooks