refactor : singleton layer