silviu: refactor