added pre condition and steps