Refactor, removed unnecessary interface layer.