Feature/attribute mapping refactor