starting to experiment with return_type
tweaks, add some docstrings to models