[Issue #49] js ui implementation (merge)