Fix #5: implement settings page