-diff --git a/llwe.c b/llwe.c
-index 0e6aded..3a24f28 100644
---- a/llwe.c
-+++ b/llwe.c
-@@ -66,7 +66,7 @@ static int bread(void)
+diff --git a/src/llwe.c b/src/llwe.c
+index b9d5196..fb3e1f2 100644
+--- a/src/llwe.c
++++ b/src/llwe.c
+@@ -70,7 +70,7 @@ bread(void)
  		err("memory");
  		return 0;
  	}

 			if (t <= buffer)
 				continue;
 			t--;
@@ -318,14 +319,10 @@ static int cmdloop(void)
 		c = getch();
 		switch (c) {
 		case C_D:
-		case KEY_DOWN:
-		case KEY_NPAGE:
 		case 'j':
 			doscrl(LINES / 2);
 			break;
 		case C_U:
-		case KEY_UP:
-		case KEY_PPAGE:
 		case 'k':
 			doscrl(-LINES / 2);
 			break;
@@ -397,8 +394,6 @@ int main(int argc, char **argv)
 		cbreak();
 		noecho();
 		nonl();

 	if (f == NULL) {
 		return 1;
 	}
@@ -93,7 +93,7 @@ breload()
 static int
 bsave(void)
 {
-	FILE *f = fopen(filename, "w");
+	FILE *f = fopen(filename, "w", "ctx=stm");
 	if (f == NULL) {
 		err("write");
 		return 0;
@@ -129,7 +129,7 @@ loop:	if (isend(end))
 	if (c == 0)
 		r++;
 	end++;
