Added tests and interfaces