Added assumptions I make for the code.