Adding direction to messages model, as well as fixing (and breaking) a few things