Improve documentation throughout and add  param to models