added some interfaces and updated project stub