refactor and add TODO note