fixes & add error handling