Refactoring + added ILocatable