edit by JB