reformat
session data is optional
add coverage task
add express 3 example and test it