titilize and refactor