updated due to code refactor