more monads
improved inline code style
reword line containing todo