pre && post action declaration