fixing philosphy, pre and post condition