completed book interface and tests