Refactoring + new methods.