add error handling in ctx init function