Initial design implementation. Issue #5