updated to most recent work