using BSD maybe better