add unit tests and support for questions