add err handling, remove err !== null