errors implemented