refactor, optimise