Refactor and added marker interface for model and element