more error proof setup