basic hallojs implementation