add pre/post initialize methods