added some stuff, still in progress