Fix backend; add unit test