Mostly stable as described in #3