Refactor Basic