Add part add exceptions and implement missing stuff