update: update demo code
update: ignore *.swp files