issue #106

completed up to imperative