added mapping and whatnot