hjls algorithm