updated version
close to final draft