last update. ready to merge