With some new developments - #5, #6, #8