refactored interactive entity