Refactor and add python binding