updated warehouse extensions to functional not OO