add navigation, improved error handling