implement preview functionality

TODO - dependent question support