slightly refactor & pending test temporarily