Further refactor and visible updates