Project update and refactor