working good with all errors