Added some interfaces, and model tests