Refactor and some improvements