refactor the data model
ignore swp files