bj refactor (code reduce
)