writing tests and demos