Conform slightly more to schema and improve the callback functionality