Added pre and post condition