Update interface and add tests