refactor, status view updating, error handling