Added pre-conditions.