refactor and mod fn name