added interfaces and readme