changing pre and post load to protected functions