Fixed some bugs and added some interfaces.